home *** CD-ROM | disk | FTP | other *** search
Wrap
'************************************************************************** '* MSSetup for Triple Play in Spanish '************************************************************************** '$INCLUDE 'setupapi.inc' '$INCLUDE 'msdetect.inc' ''Dialog ID's CONST WELCOME = 100 CONST ASKQUIT = 200 CONST DESTPATH = 300 CONST EXITFAILURE = 400 CONST EXITQUIT = 600 CONST EXITSUCCESS = 700 CONST OPTIONS = 800 CONST APPHELP = 900 CONST NOFREESPACE = 1000 CONST BADPATH = 6400 CONST NOAVISPACE = 1300 CONST REBOOTLATER = 1400 CONST AVISPACE = 153600 ''SIZE OF AVI DRIVERS approx 150K CONST MINSPACE = 1572864 ''1.5 MBytes ''Bitmap ID CONST LOGO = 1 GLOBAL DEST$ ''Default destination directory. GLOBAL OPTCUR$ ''Option selection from option dialog. GLOBAL SRCDIR$ GLOBAL INSTDIR$ GLOBAL APPNAME$ GLOBAL WINTITLE$ GLOBAL DIRNAME$ GLOBAL TmpSrc$ GLOBAL TmpDest$ GLOBAL AviSrc$ GLOBAL MinorVersion GLOBAL MajorVersion GLOBAL WINDIR$ GLOBAL WINSYSDIR$ GLOBAL mciavistring$ GLOBAL RebootFlag GLOBAL CUIDLL$ DECLARE SUB Install DECLARE SUB EditSystemIni DECLARE SUB BuildGroup DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING INIT: APPNAME$ = "Triple Play in Spanish - Demo" DIRNAME$ = "3PLAYDMO" WINTITLE$ = APPNAME$ + " - Installation" CUIDLL$ = "mscuistf.dll" ''Custom user interface dll HELPPROC$ = "FHelpDlgProc" ''Help dialog procedure SetBitmap CUIDLL$, LOGO SetTitle WINTITLE$ szInf$ = GetSymbolValue("STF_SRCINFPATH") IF szInf$ = "" THEN szInf$ = GetSymbolValue("STF_CWDDIR") + "SETUP.INF" END IF ReadInfFile szInf$ '' SRCDIR$ = (GetSymbolValue("STF_SRCDIR") + DIRNAME$ + "\") '' Since the setup files for this demo are being put in the 3playdmo '' directory, the next line is more appropriate. SRCDIR$ = (GetSymbolValue("STF_SRCDIR")) WINDIR$ = GetWindowsDir() WINSYSDIR$ = GetWindowsSysDir() RebootFlag = 0 ''if system ini and win ini don't have the ''appropriate entry for mci drivers, then the ''RebootFlag is set TRUE and a reboot dialog box ''appears on the screen reminding them to reboot OPTCUR$ = "1" DEST$ = ("C:\" + DIRNAME$) MinorVersion=GetWindowsMinorVersion() MajorVersion=GetWindowsMajorVersion() IF MajorVersion < 3 OR (MajorVersion = 3 AND MinorVersion < 10) THEN i% = DoMsgBox("Microsoft Windows Version 3.10 or greater is required for this software. Please upgrade your version of Windows.", "Installation Problem", MB_OK+MB_TASKMODAL+MB_ICONHAND) END END IF '$IFDEF DEBUG i% = SetSizeCheckMode(scmOnIgnore) '' could use scmOff; def = scmOnFatal WinDrive$ = MID$(GetWindowsDir, 1, 1) IF IsDriveValid(WinDrive$) = 0 THEN i% = DoMsgBox("Windows drive ('"+WinDrive$+"') is not a valid drive.", "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK) GOTO QUIT END IF '$ENDIF ''DEBUG AVI_ENTRY: WinDrive$ = MID$(GetWindowsDir, 1, 1) IF GetFreeSpaceForDrive(WinDrive$) < AVISPACE THEN GOSUB NOAVISPACE UIPopAll END ENDIF OPTION: SetSymbolValue "RadioDefault", OPTCUR$ OPTL1: sz$ = UIStartDlg(CUIDLL$, OPTIONS, "FRadioDlgProc", APPHELP, HELPPROC$) OPTCUR$ = GetSymbolValue("ButtonChecked") IF sz$ = "CONTINUE" THEN UIPop(1) ELSEIF sz$ = "REACTIVATE" THEN GOTO OPTL1 ELSE GOSUB ASKQUIT GOTO OPTION END IF IF OPTCUR$ = "2" THEN GOTO NOINSTALL END IF GETPATH: SetSymbolValue "EditTextIn", DEST$ SetSymbolValue "EditFocus", "END" GETPATHL1: sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$) DEST$ = GetSymbolValue("EditTextOut") IF sz$ = "CONTINUE" THEN IF IsDirWritable(DEST$) = 0 THEN GOSUB BADPATH GOTO GETPATHL1 END IF IF GetFreeSpaceForDrive(DEST$) < MINSPACE THEN GOSUB NOFREESPACE GOTO GETPATHL1 ENDIF UIPop 1 ELSEIF sz$ = "REACTIVATE" THEN GOTO GETPATHL1 ELSEIF sz$ = "BACK" THEN UIPop 1 GOTO OPTION ELSE GOSUB ASKQUIT GOTO GETPATH END IF Install GOTO QUIT NOINSTALL: INSTDIR$ = SRCDIR$ BuildGroup QUIT: ON ERROR GOTO ERRQUIT IF ERR = 0 THEN dlg% = EXITSUCCESS ELSEIF ERR = STFQUIT THEN dlg% = EXITQUIT ELSE dlg% = EXITFAILURE END IF QUITL1: sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "") IF sz$ = "REACTIVATE" THEN GOTO QUITL1 END IF UIPop 1 END ERRQUIT: i% = DoMsgBox("Setup sources were corrupted, call the included support number", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND) END BADPATH: sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "") IF sz$ = "REACTIVATE" THEN GOTO BADPATH END IF UIPop 1 RETURN NOFREESPACE: sz$ = UIStartDlg(CUIDLL$, NOFREESPACE, "FInfo0DlgProc", 0, "") IF sz$ = "REACTIVATE" THEN GOTO NOFREESPACE END IF UIPop 1 RETURN NOAVISPACE: sz$ = UIStartDlg(CUIDLL$, NOAVISPACE, "FInfo0DlgProc", 0, "") IF sz$ = "REACTIVATE" THEN GOTO NOAVISPACE END IF UIPop 1 RETURN ASKQUIT: sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "") IF sz$ = "EXIT" THEN UIPopAll ERROR STFQUIT ELSEIF sz$ = "REACTIVATE" THEN GOTO ASKQUIT ELSE UIPop 1 END IF RETURN '** '** Purpose: '** Builds the copy list and performs all installation operations. '** Arguments: '** none. '** Returns: '** none. '************************************************************************* SUB Install STATIC '' SrcDir$ = (GetSymbolValue("STF_SRCDIR") + DIRNAME$ + "\") SrcDir$ = (GetSymbolValue("STF_SRCDIR")) CreateDir DEST$, cmoNone OpenLogFile MakePath(DEST$, "LOGFILE.OUT"), 0 WriteToLogFile "" WriteToLogFile " User chose as destination directory: '" + DEST$ + "'" WriteToLogFile " User chose option: '" + OPTCUR$ + "'" WriteToLogFile "" WriteToLogFile "May have had to create the directory: " + DEST$ WriteToLogFile "" AddSectionFilesToCopyList "Files", SrcDir$, DEST$ TmpSrc$ = SrcDir$ + "VARIABLE\IWVAR" TmpDest$ = DEST$ + "\VARIABLE" AddSectionFilesToCopyList "IWVAR", TmpSrc$, TmpDest$ AviSrc$ = SrcDir$ + "AVIDRIVR" AddSectionFilesToCopyList "AviDrivers",AviSrc$,WINSYSDIR$ CopyFilesInCopyList INSTDIR$ = DEST$ EditSystemIni BuildGroup CloseLogFile END SUB SUB EditSystemIni STATIC i% = DoesIniKeyExist(WINDIR$ + "system.ini","mci","AVIVideo") IF i% = 0 THEN RebootFlag = 1 ENDIF i% = DoesIniKeyExist(WINDIR$ + "system.ini","Drivers","VIDC.MSVC") IF i% = 0 THEN RebootFlag = 1 ENDIF CreateIniKeyValue WINDIR$ + "system.ini","mci","AVIVideo","mciavi.drv",cmoOverwrite CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.MSVC", "msvidc.drv", cmoOverwrite CreateIniKeyValue "WIN.INI", "mci extensions", "avi", "AVIVideo", cmoOverwrite END SUB SUB BuildGroup STATIC CreateProgmanGroup "LANGUAGE", "", cmoNone ShowProgmanGroup "LANGUAGE", 1, cmoNone CreateProgmanItem "LANGUAGE", APPNAME$, MakePath(INSTDIR$,"present.exe"), MakePath(INSTDIR$,"3playsp.ico"), cmoOverwrite REBOOTMSG: IF RebootFlag = 1 THEN sz$ = UIStartDlg(CUIDLL$, REBOOTLATER, "FInfo0DlgProc", 0, "") IF sz$ = "REACTIVATE" THEN GOTO REBOOTMSG END IF UIPop 1 ENDIF END SUB '** '** Purpose: '** Appends a file name to the end of a directory path, '** inserting a backslash character as needed. '** Arguments: '** szDir$ - full directory path (with optional ending "\") '** szFile$ - filename to append to directory '** Returns: '** Resulting fully qualified path name. '************************************************************************* FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING IF szDir$ = "" THEN MakePath = szFile$ ELSEIF szFile$ = "" THEN MakePath = szDir$ ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN MakePath = szDir$ + szFile$ ELSE MakePath = szDir$ + "\" + szFile$ END IF END FUNCTION